package com.gonsin.project.creator.utils;

import java.io.File;
import java.net.URL;

public class CommonUtils {


    /**
     * 获取jar所在 的路径
     * @return
     */
    public static String getJarRoot(){
        String path = "";
        try{
            //jar 中没有目录的概念
            URL location = CommonUtils.class.getProtectionDomain().getCodeSource().getLocation();//获得当前的URL
            File file = new File(location.getPath());//构建指向当前URL的文件描述符
            if(file.isDirectory()){//如果是目录,指向的是包所在路径，而不是文件所在路径
                path = file.getAbsolutePath();//直接返回绝对路径
            }else{//如果是文件,这个文件指定的是jar所在的路径(注意如果是作为依赖包，这个路径是jvm启动加载的jar文件名)
                path = file.getParent();//返回jar所在的父路径
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        return path;
    }

    /**
     * 获取指定子文件
     */
    public static File getChildFile(File parentFile, String filename){
        File file = new File(parentFile.getAbsolutePath() + File.separator + filename);
        return file;
    }

}
